{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Modularity: https://en.wikipedia.org/wiki/Modularity_(networks)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch\n",
    "import numpy as np\n",
    "import networkx as nx\n",
    "from utils import gumbel_softmax_3d # for batch version sampling\n",
    "from torch.nn.functional import gumbel_softmax # for single samping\n",
    "from scipy.io import mmread\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "class Modularity():\n",
    "    def __init__(self, G, seed=0, device='cuda:0'):\n",
    "        self.G = G\n",
    "        self.seed = seed\n",
    "        self.device = device\n",
    "        if self.seed > 0:\n",
    "            torch.manual_seed(self.seed)\n",
    "        self.nnodes = G.number_of_nodes()\n",
    "        self.nedges = G.number_of_edges()\n",
    "        self.mod_mat = nx.modularity_matrix(G).astype(np.float32)\n",
    "        \n",
    "    def gumbel_optimization(self, ncoms, bs=128, max_iters=2000, lr=1, init_tau=20, final_tau=0.1, diff=1e-8):\n",
    "        \"\"\"drop temperature from 20 to 0.1 in 2000 steps. You can choose to fix tau\"\"\"\n",
    "        n = self.nnodes\n",
    "        device = self.device\n",
    "        B = torch.tensor(self.mod_mat, device=device)\n",
    "        # we choose to directly optimize logits to avoid softmax\n",
    "        x = -1 * torch.rand(bs, n, ncoms, device=device)\n",
    "        x.requires_grad = True # x is learnable\n",
    "        optimizer = torch.optim.Adam([x], lr=lr)\n",
    "        tau = init_tau\n",
    "        decay = (init_tau - final_tau) / max_iters\n",
    "        Q_best = torch.ones(1, device=device)\n",
    "        Q_best_idx = 0\n",
    "        for i in range(max_iters):\n",
    "            Q_old = Q_best.clone()\n",
    "            optimizer.zero_grad()\n",
    "            s = gumbel_softmax_3d(x, tau=tau, hard=True) # [bs, n, ncoms]\n",
    "            mod_list = [torch.trace(s[idx, :, :].t() @ B @ s[idx, :, :]) for idx in range(bs)]\n",
    "            mod_tensor = torch.stack(mod_list) # convert list to torch.tensor\n",
    "            loss = -1 * torch.mean(mod_tensor)\n",
    "            loss.backward()\n",
    "            optimizer.step()\n",
    "            tau -= decay # drop temperature\n",
    "            with torch.no_grad():\n",
    "                s = gumbel_softmax_3d(x, tau=tau, hard=True) # [bs, n, ncoms]\n",
    "                mod_list = [torch.trace(s[j, :, :].t() @ B @ s[j, :, :]) for j in range(bs)]\n",
    "                mod_tensor = torch.stack(mod_list) # we will select the best result from this list\n",
    "                Q = torch.max(mod_tensor)\n",
    "                idx = torch.argmax(mod_tensor)\n",
    "                if Q > Q_best:\n",
    "                    Q_best = Q\n",
    "                    Q_best_idx = idx\n",
    "                if torch.abs(Q - Q_old) < diff:\n",
    "                    break\n",
    "#                 print('Current best result: %.5f' % (Q_best.cpu().numpy()/ (2 * self.nedges)))\n",
    "        Q_best = Q_best.cpu().numpy() / (2 * self.nedges)\n",
    "        best_partition = s[Q_best_idx, :, :].cpu().numpy() # select the best partion\n",
    "        print('Best Q value with %i communities: %.5f' % (ncoms, Q_best))\n",
    "        return Q_best, best_partition"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Test on GN benckmark"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/liujing/anaconda3/envs/deep/lib/python3.6/site-packages/networkx/drawing/nx_pylab.py:611: MatplotlibDeprecationWarning: isinstance(..., numbers.Number)\n",
      "  if cb.is_numlike(alpha):\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "z_out=1\n",
    "z_in=16-z_out\n",
    "p_out=z_out/96\n",
    "p_in=z_in/31\n",
    "G = nx.random_partition_graph([32,32,32,32], p_in, p_out, seed=2050)\n",
    "pos=nx.layout.spring_layout(G)\n",
    "nx.draw_networkx(G, pos)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Best Q value with 4 communities: 0.68608\n"
     ]
    }
   ],
   "source": [
    "mod = Modularity(G)\n",
    "Q, partition = mod.gumbel_optimization(4, bs=128)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Zachary network"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "# load data\n",
    "G = nx.karate_club_graph()\n",
    "mod = Modularity(G)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "a = [0, 1, 88, 88, 4]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "b = [2, 3, 4, 5, 6]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a.index(max(a))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "results.index(max(results))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Best Q value with 4 communities: 0.41979\n"
     ]
    }
   ],
   "source": [
    "Q, partition = mod.gumbel_optimization(4)\n",
    "\n",
    "# for num_com in range(2, 6):\n",
    "#     results = []\n",
    "#     partitions = []\n",
    "#     for _ in range(5):\n",
    "#         Q, partition = mod.gumbel_optimization(num_com)\n",
    "#         results.append(Q)\n",
    "#         partitions.append(partition.sum(0))\n",
    "#     Q_max = max(results)\n",
    "#     index = results.index(Q_max)\n",
    "#     print('Best results: %.5f' % (Q_max))\n",
    "#     print('Partition checking:' + str(partitions[index]))\n",
    "#     print('\\n')\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.41978958325508314"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Q"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "n, _ = partition.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "partition_dict = {}\n",
    "for i in range(n):\n",
    "    temp = np.where(partition[i]==1)[0]\n",
    "    partition_dict[i] = int(temp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{0: 1,\n",
       " 1: 1,\n",
       " 2: 1,\n",
       " 3: 1,\n",
       " 4: 2,\n",
       " 5: 2,\n",
       " 6: 2,\n",
       " 7: 1,\n",
       " 8: 0,\n",
       " 9: 0,\n",
       " 10: 2,\n",
       " 11: 2,\n",
       " 12: 1,\n",
       " 13: 1,\n",
       " 14: 0,\n",
       " 15: 0,\n",
       " 16: 2,\n",
       " 17: 1,\n",
       " 18: 0,\n",
       " 19: 1,\n",
       " 20: 0,\n",
       " 21: 1,\n",
       " 22: 0,\n",
       " 23: 3,\n",
       " 24: 3,\n",
       " 25: 3,\n",
       " 26: 0,\n",
       " 27: 3,\n",
       " 28: 3,\n",
       " 29: 0,\n",
       " 30: 0,\n",
       " 31: 3,\n",
       " 32: 0,\n",
       " 33: 0}"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "partition_dict"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/liujing/anaconda3/envs/deep/lib/python3.6/site-packages/networkx/drawing/nx_pylab.py:611: MatplotlibDeprecationWarning: isinstance(..., numbers.Number)\n",
      "  if cb.is_numlike(alpha):\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "pos=nx.layout.spring_layout(G)\n",
    "nx.draw_networkx(G, pos)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 504x504 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Louvain Community Detection\n",
    "# partition = community.best_partition(G)\n",
    "\n",
    "partition = partition_dict\n",
    "plt.figure(figsize=(7,7))\n",
    "plt.tight_layout()\n",
    "colors=[\"r\",'m','g',\"b\",]\n",
    "for com in set(partition.values()) :\n",
    "    list_nodes = [nodes for nodes in partition.keys()\n",
    "                                if partition[nodes] == com]\n",
    "    nx.draw_networkx_nodes(G, pos, list_nodes, node_size = 250,\n",
    "                                node_color = colors[com],alpha=0.7)\n",
    "\n",
    "nx.draw_networkx_edges(G,pos, alpha=0.5)\n",
    "nx.draw_networkx_labels(G, pos)\n",
    "plt.axis('off')\n",
    "# q=community.modularity(partition,G)\n",
    "plt.text(-0.5,0.8,\"modularity=%.4f\"%(0.4198),fontsize=16)\n",
    "# plt.show()\n",
    "plt.savefig('mod.pdf', dpi=300)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# bio"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# laod data\n",
    "def load_graph(filename):\n",
    "    G = nx.Graph() # undirected graphs\n",
    "    for line in open(filename):\n",
    "        strlist = line.split(' ')\n",
    "        n1 = int(strlist[0])\n",
    "        n2 = int(strlist[1])\n",
    "#         weight = float(strlist[w_index])\n",
    "#         G.add_weighted_edges_from([(n1, n2, weight)])\n",
    "        G.add_edges_from([(n1, n2)])\n",
    "    return G\n",
    "\n",
    "G = load_graph('./data/bio-celegans.edges')\n",
    "\n",
    "mod = Modularity(G)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "453"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "G.number_of_nodes()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Jazz"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [],
   "source": [
    "# load data\n",
    "data = mmread('./data/jazz.mtx')\n",
    "F = nx.from_scipy_sparse_matrix(data)\n",
    "G = nx.Graph()\n",
    "for edge in F.edges():\n",
    "    G.add_edges_from([edge])\n",
    "\n",
    "mod = Modularity(G)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "NodeView((0, 7, 23, 34, 41, 45, 59, 73, 77, 80, 94, 97, 98, 99, 100, 102, 103, 107, 130, 131, 153, 158, 167, 170, 1, 13, 53, 149, 2, 114, 152, 166, 171, 3, 4, 12, 25, 76, 84, 101, 137, 146, 155, 168, 172, 175, 188, 18, 20, 26, 27, 28, 50, 52, 56, 72, 74, 75, 78, 85, 89, 95, 96, 123, 125, 127, 135, 139, 143, 148, 154, 162, 190, 193, 195, 196, 5, 151, 156, 6, 9, 10, 35, 48, 54, 55, 60, 66, 68, 69, 70, 71, 82, 86, 92, 93, 110, 111, 112, 113, 121, 124, 126, 128, 129, 140, 145, 150, 157, 160, 163, 169, 176, 177, 184, 189, 191, 192, 194, 88, 109, 117, 120, 141, 173, 8, 22, 31, 37, 79, 115, 116, 134, 136, 138, 161, 178, 11, 17, 30, 24, 91, 147, 185, 14, 15, 47, 90, 104, 106, 16, 61, 49, 87, 182, 183, 19, 21, 42, 181, 197, 29, 33, 105, 122, 32, 39, 43, 57, 62, 63, 64, 65, 108, 118, 133, 67, 165, 186, 36, 132, 179, 38, 180, 40, 44, 58, 81, 142, 46, 51, 187, 83, 174, 119, 144, 159, 164))"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "G.nodes()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Best Q value with 3 communities: 0.44251\n",
      "Best Q value with 3 communities: 0.44044\n",
      "Best Q value with 3 communities: 0.44250\n",
      "Best Q value with 3 communities: 0.44155\n",
      "Best Q value with 3 communities: 0.44330\n",
      "Best Q value with 3 communities: 0.44254\n",
      "Best Q value with 3 communities: 0.43979\n",
      "Best Q value with 3 communities: 0.44289\n",
      "Best Q value with 3 communities: 0.44174\n",
      "Best Q value with 3 communities: 0.44213\n",
      "Best Q value with 3 communities: 0.44424\n",
      "Best Q value with 3 communities: 0.44267\n",
      "Best Q value with 3 communities: 0.43657\n",
      "Best Q value with 3 communities: 0.44205\n",
      "Best Q value with 3 communities: 0.44252\n",
      "Best Q value with 3 communities: 0.43995\n",
      "Best Q value with 3 communities: 0.43803\n",
      "Best Q value with 3 communities: 0.44406\n",
      "Best Q value with 3 communities: 0.44239\n",
      "Best Q value with 3 communities: 0.44159\n",
      "Best Q value with 3 communities: 0.44173\n",
      "Best Q value with 3 communities: 0.44200\n",
      "Best Q value with 3 communities: 0.44335\n",
      "Best Q value with 3 communities: 0.44365\n",
      "Best Q value with 3 communities: 0.44263\n",
      "Best Q value with 3 communities: 0.44055\n",
      "Best Q value with 3 communities: 0.44242\n",
      "Best Q value with 3 communities: 0.44289\n",
      "Best Q value with 3 communities: 0.43711\n",
      "Best Q value with 3 communities: 0.43995\n",
      "Best Q value with 3 communities: 0.44195\n",
      "Best Q value with 3 communities: 0.44228\n",
      "Best Q value with 3 communities: 0.44290\n",
      "Best Q value with 3 communities: 0.44197\n",
      "Best Q value with 3 communities: 0.43900\n",
      "Best Q value with 3 communities: 0.44236\n",
      "Best Q value with 3 communities: 0.44036\n",
      "Best Q value with 3 communities: 0.44116\n",
      "Best Q value with 3 communities: 0.43990\n",
      "Best Q value with 3 communities: 0.44011\n",
      "Best Q value with 3 communities: 0.44109\n",
      "Best Q value with 3 communities: 0.44318\n",
      "Best Q value with 3 communities: 0.44294\n",
      "Best Q value with 3 communities: 0.44408\n",
      "Best Q value with 3 communities: 0.43975\n",
      "Best Q value with 3 communities: 0.44316\n",
      "Best Q value with 3 communities: 0.44087\n",
      "Best Q value with 3 communities: 0.44129\n",
      "Best Q value with 3 communities: 0.44284\n",
      "Best Q value with 3 communities: 0.44236\n",
      "Best Q value with 3 communities: 0.44262\n",
      "Best Q value with 3 communities: 0.44299\n",
      "Best Q value with 3 communities: 0.44394\n",
      "Best Q value with 3 communities: 0.44253\n",
      "Best Q value with 3 communities: 0.44222\n",
      "Best Q value with 3 communities: 0.44173\n",
      "Best Q value with 3 communities: 0.43270\n",
      "Best Q value with 3 communities: 0.44315\n",
      "Best Q value with 3 communities: 0.44088\n",
      "Best Q value with 3 communities: 0.43862\n",
      "Best Q value with 3 communities: 0.44397\n",
      "Best Q value with 3 communities: 0.44065\n",
      "Best Q value with 3 communities: 0.44349\n",
      "Best Q value with 3 communities: 0.44273\n",
      "Best Q value with 3 communities: 0.43855\n",
      "Best Q value with 3 communities: 0.44289\n",
      "Best Q value with 3 communities: 0.44248\n",
      "Best Q value with 3 communities: 0.44346\n",
      "Best Q value with 3 communities: 0.44372\n",
      "Best Q value with 3 communities: 0.44407\n",
      "Best Q value with 3 communities: 0.44301\n",
      "Best Q value with 3 communities: 0.44076\n",
      "Best Q value with 3 communities: 0.44165\n",
      "Best Q value with 3 communities: 0.44172\n",
      "Best Q value with 3 communities: 0.44373\n",
      "Best Q value with 3 communities: 0.44196\n",
      "Best Q value with 3 communities: 0.44321\n",
      "Best Q value with 3 communities: 0.44426\n",
      "Best Q value with 3 communities: 0.44375\n",
      "Best Q value with 3 communities: 0.44208\n",
      "Best Q value with 3 communities: 0.43878\n",
      "Best Q value with 3 communities: 0.44398\n",
      "Best Q value with 3 communities: 0.44171\n",
      "Best Q value with 3 communities: 0.44186\n",
      "Best Q value with 3 communities: 0.44193\n",
      "Best Q value with 3 communities: 0.44375\n",
      "Best Q value with 3 communities: 0.44246\n",
      "Best Q value with 3 communities: 0.44283\n",
      "Best Q value with 3 communities: 0.44307\n",
      "Best Q value with 3 communities: 0.43502\n",
      "Best Q value with 3 communities: 0.44227\n",
      "Best Q value with 3 communities: 0.44330\n",
      "Best Q value with 3 communities: 0.43711\n",
      "Best Q value with 3 communities: 0.44319\n",
      "Best Q value with 3 communities: 0.44178\n",
      "Best Q value with 3 communities: 0.44277\n",
      "Best Q value with 3 communities: 0.44039\n",
      "Best Q value with 3 communities: 0.44250\n",
      "Best Q value with 3 communities: 0.43815\n",
      "Best Q value with 3 communities: 0.43866\n",
      "Best results: 0.44426\n",
      "Partition checking:[67. 62. 69.]\n",
      "\n",
      "\n",
      "Best Q value with 4 communities: 0.44243\n",
      "Best Q value with 4 communities: 0.44177\n",
      "Best Q value with 4 communities: 0.44434\n",
      "Best Q value with 4 communities: 0.43935\n",
      "Best Q value with 4 communities: 0.43881\n",
      "Best Q value with 4 communities: 0.43893\n",
      "Best Q value with 4 communities: 0.44456\n",
      "Best Q value with 4 communities: 0.44296\n",
      "Best Q value with 4 communities: 0.44187\n",
      "Best Q value with 4 communities: 0.44199\n",
      "Best Q value with 4 communities: 0.44020\n",
      "Best Q value with 4 communities: 0.44253\n",
      "Best Q value with 4 communities: 0.44281\n",
      "Best Q value with 4 communities: 0.44001\n",
      "Best Q value with 4 communities: 0.44117\n",
      "Best Q value with 4 communities: 0.44230\n",
      "Best Q value with 4 communities: 0.43766\n",
      "Best Q value with 4 communities: 0.44208\n",
      "Best Q value with 4 communities: 0.44118\n",
      "Best Q value with 4 communities: 0.44087\n",
      "Best Q value with 4 communities: 0.44279\n",
      "Best Q value with 4 communities: 0.44350\n",
      "Best Q value with 4 communities: 0.43705\n",
      "Best Q value with 4 communities: 0.43625\n",
      "Best Q value with 4 communities: 0.44321\n",
      "Best Q value with 4 communities: 0.44398\n",
      "Best Q value with 4 communities: 0.44220\n",
      "Best Q value with 4 communities: 0.44321\n",
      "Best Q value with 4 communities: 0.44193\n",
      "Best Q value with 4 communities: 0.44192\n",
      "Best Q value with 4 communities: 0.43694\n",
      "Best Q value with 4 communities: 0.44318\n",
      "Best Q value with 4 communities: 0.44353\n",
      "Best Q value with 4 communities: 0.44383\n",
      "Best Q value with 4 communities: 0.44191\n",
      "Best Q value with 4 communities: 0.44002\n",
      "Best Q value with 4 communities: 0.44411\n",
      "Best Q value with 4 communities: 0.44366\n",
      "Best Q value with 4 communities: 0.44317\n",
      "Best Q value with 4 communities: 0.43946\n",
      "Best Q value with 4 communities: 0.44026\n",
      "Best Q value with 4 communities: 0.44174\n",
      "Best Q value with 4 communities: 0.43990\n",
      "Best Q value with 4 communities: 0.44004\n",
      "Best Q value with 4 communities: 0.44074\n",
      "Best Q value with 4 communities: 0.44002\n",
      "Best Q value with 4 communities: 0.44499\n",
      "Best Q value with 4 communities: 0.44167\n",
      "Best Q value with 4 communities: 0.44318\n",
      "Best Q value with 4 communities: 0.43740\n",
      "Best Q value with 4 communities: 0.44046\n",
      "Best Q value with 4 communities: 0.44081\n",
      "Best Q value with 4 communities: 0.43507\n",
      "Best Q value with 4 communities: 0.44310\n",
      "Best Q value with 4 communities: 0.43607\n",
      "Best Q value with 4 communities: 0.44368\n",
      "Best Q value with 4 communities: 0.43938\n",
      "Best Q value with 4 communities: 0.44063\n",
      "Best Q value with 4 communities: 0.44067\n",
      "Best Q value with 4 communities: 0.44210\n",
      "Best Q value with 4 communities: 0.44260\n",
      "Best Q value with 4 communities: 0.44374\n",
      "Best Q value with 4 communities: 0.43926\n",
      "Best Q value with 4 communities: 0.44443\n",
      "Best Q value with 4 communities: 0.44483\n",
      "Best Q value with 4 communities: 0.44296\n",
      "Best Q value with 4 communities: 0.43772\n",
      "Best Q value with 4 communities: 0.44361\n",
      "Best Q value with 4 communities: 0.44282\n",
      "Best Q value with 4 communities: 0.44152\n",
      "Best Q value with 4 communities: 0.44165\n",
      "Best Q value with 4 communities: 0.44404\n",
      "Best Q value with 4 communities: 0.43806\n",
      "Best Q value with 4 communities: 0.44218\n",
      "Best Q value with 4 communities: 0.44315\n",
      "Best Q value with 4 communities: 0.44141\n",
      "Best Q value with 4 communities: 0.44160\n",
      "Best Q value with 4 communities: 0.43967\n",
      "Best Q value with 4 communities: 0.44268\n",
      "Best Q value with 4 communities: 0.44019\n",
      "Best Q value with 4 communities: 0.43835\n",
      "Best Q value with 4 communities: 0.44185\n",
      "Best Q value with 4 communities: 0.43540\n",
      "Best Q value with 4 communities: 0.44145\n",
      "Best Q value with 4 communities: 0.43922\n",
      "Best Q value with 4 communities: 0.43989\n",
      "Best Q value with 4 communities: 0.44082\n",
      "Best Q value with 4 communities: 0.44159\n",
      "Best Q value with 4 communities: 0.43979\n",
      "Best Q value with 4 communities: 0.44416\n",
      "Best Q value with 4 communities: 0.44032\n",
      "Best Q value with 4 communities: 0.44240\n",
      "Best Q value with 4 communities: 0.44270\n",
      "Best Q value with 4 communities: 0.44279\n",
      "Best Q value with 4 communities: 0.43826\n",
      "Best Q value with 4 communities: 0.44117\n",
      "Best Q value with 4 communities: 0.44184\n",
      "Best Q value with 4 communities: 0.44365\n",
      "Best Q value with 4 communities: 0.44366\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Best Q value with 4 communities: 0.44048\n",
      "Best results: 0.44499\n",
      "Partition checking:[63. 53. 61. 21.]\n",
      "\n",
      "\n",
      "Best Q value with 5 communities: 0.43669\n",
      "Best Q value with 5 communities: 0.44155\n",
      "Best Q value with 5 communities: 0.44102\n",
      "Best Q value with 5 communities: 0.43813\n",
      "Best Q value with 5 communities: 0.43224\n",
      "Best Q value with 5 communities: 0.44029\n",
      "Best Q value with 5 communities: 0.43618\n",
      "Best Q value with 5 communities: 0.43786\n",
      "Best Q value with 5 communities: 0.43518\n",
      "Best Q value with 5 communities: 0.44221\n",
      "Best Q value with 5 communities: 0.43952\n",
      "Best Q value with 5 communities: 0.44055\n",
      "Best Q value with 5 communities: 0.43518\n",
      "Best Q value with 5 communities: 0.43931\n",
      "Best Q value with 5 communities: 0.43876\n",
      "Best Q value with 5 communities: 0.44018\n",
      "Best Q value with 5 communities: 0.43898\n",
      "Best Q value with 5 communities: 0.43843\n",
      "Best Q value with 5 communities: 0.44116\n",
      "Best Q value with 5 communities: 0.44242\n",
      "Best Q value with 5 communities: 0.43720\n",
      "Best Q value with 5 communities: 0.44057\n",
      "Best Q value with 5 communities: 0.43591\n",
      "Best Q value with 5 communities: 0.44381\n",
      "Best Q value with 5 communities: 0.43482\n",
      "Best Q value with 5 communities: 0.44048\n",
      "Best Q value with 5 communities: 0.43458\n",
      "Best Q value with 5 communities: 0.43777\n",
      "Best Q value with 5 communities: 0.43983\n",
      "Best Q value with 5 communities: 0.44092\n",
      "Best Q value with 5 communities: 0.43987\n",
      "Best Q value with 5 communities: 0.43853\n",
      "Best Q value with 5 communities: 0.44158\n",
      "Best Q value with 5 communities: 0.44280\n",
      "Best Q value with 5 communities: 0.44055\n",
      "Best Q value with 5 communities: 0.43434\n",
      "Best Q value with 5 communities: 0.43472\n",
      "Best Q value with 5 communities: 0.44107\n",
      "Best Q value with 5 communities: 0.43836\n",
      "Best Q value with 5 communities: 0.43766\n",
      "Best Q value with 5 communities: 0.43759\n",
      "Best Q value with 5 communities: 0.43992\n",
      "Best Q value with 5 communities: 0.44274\n",
      "Best Q value with 5 communities: 0.44030\n",
      "Best Q value with 5 communities: 0.43967\n",
      "Best Q value with 5 communities: 0.44168\n",
      "Best Q value with 5 communities: 0.44081\n",
      "Best Q value with 5 communities: 0.44224\n",
      "Best Q value with 5 communities: 0.43778\n",
      "Best Q value with 5 communities: 0.44150\n",
      "Best Q value with 5 communities: 0.44010\n",
      "Best Q value with 5 communities: 0.44206\n",
      "Best Q value with 5 communities: 0.44183\n",
      "Best Q value with 5 communities: 0.44358\n",
      "Best Q value with 5 communities: 0.44041\n",
      "Best Q value with 5 communities: 0.43854\n",
      "Best Q value with 5 communities: 0.44080\n",
      "Best Q value with 5 communities: 0.43833\n",
      "Best Q value with 5 communities: 0.43791\n",
      "Best Q value with 5 communities: 0.43672\n",
      "Best Q value with 5 communities: 0.43871\n",
      "Best Q value with 5 communities: 0.44278\n",
      "Best Q value with 5 communities: 0.44019\n",
      "Best Q value with 5 communities: 0.44155\n",
      "Best Q value with 5 communities: 0.44216\n",
      "Best Q value with 5 communities: 0.44129\n",
      "Best Q value with 5 communities: 0.43987\n",
      "Best Q value with 5 communities: 0.43911\n",
      "Best Q value with 5 communities: 0.43752\n",
      "Best Q value with 5 communities: 0.43964\n",
      "Best Q value with 5 communities: 0.44485\n",
      "Best Q value with 5 communities: 0.43845\n",
      "Best Q value with 5 communities: 0.43482\n",
      "Best Q value with 5 communities: 0.43663\n",
      "Best Q value with 5 communities: 0.44190\n",
      "Best Q value with 5 communities: 0.44263\n",
      "Best Q value with 5 communities: 0.43470\n",
      "Best Q value with 5 communities: 0.44294\n",
      "Best Q value with 5 communities: 0.43627\n",
      "Best Q value with 5 communities: 0.43855\n",
      "Best Q value with 5 communities: 0.44364\n",
      "Best Q value with 5 communities: 0.44225\n",
      "Best Q value with 5 communities: 0.44208\n",
      "Best Q value with 5 communities: 0.43636\n",
      "Best Q value with 5 communities: 0.44082\n",
      "Best Q value with 5 communities: 0.43982\n",
      "Best Q value with 5 communities: 0.43851\n",
      "Best Q value with 5 communities: 0.43825\n",
      "Best Q value with 5 communities: 0.43829\n",
      "Best Q value with 5 communities: 0.44127\n",
      "Best Q value with 5 communities: 0.43886\n",
      "Best Q value with 5 communities: 0.43830\n",
      "Best Q value with 5 communities: 0.44311\n",
      "Best Q value with 5 communities: 0.44194\n",
      "Best Q value with 5 communities: 0.44138\n",
      "Best Q value with 5 communities: 0.43746\n",
      "Best Q value with 5 communities: 0.43816\n",
      "Best Q value with 5 communities: 0.44054\n",
      "Best Q value with 5 communities: 0.44040\n",
      "Best Q value with 5 communities: 0.43569\n",
      "Best results: 0.44485\n",
      "Partition checking:[63. 61. 20. 54.  0.]\n",
      "\n",
      "\n",
      "Best Q value with 6 communities: 0.43884\n",
      "Best Q value with 6 communities: 0.44362\n",
      "Best Q value with 6 communities: 0.43711\n",
      "Best Q value with 6 communities: 0.43808\n",
      "Best Q value with 6 communities: 0.43900\n",
      "Best Q value with 6 communities: 0.43197\n",
      "Best Q value with 6 communities: 0.43617\n",
      "Best Q value with 6 communities: 0.43750\n",
      "Best Q value with 6 communities: 0.43771\n",
      "Best Q value with 6 communities: 0.43981\n",
      "Best Q value with 6 communities: 0.43822\n",
      "Best Q value with 6 communities: 0.44298\n",
      "Best Q value with 6 communities: 0.43761\n",
      "Best Q value with 6 communities: 0.43817\n",
      "Best Q value with 6 communities: 0.43709\n",
      "Best Q value with 6 communities: 0.43342\n",
      "Best Q value with 6 communities: 0.43538\n",
      "Best Q value with 6 communities: 0.43747\n",
      "Best Q value with 6 communities: 0.43888\n",
      "Best Q value with 6 communities: 0.43515\n",
      "Best Q value with 6 communities: 0.43471\n",
      "Best Q value with 6 communities: 0.43451\n",
      "Best Q value with 6 communities: 0.43803\n",
      "Best Q value with 6 communities: 0.43353\n",
      "Best Q value with 6 communities: 0.43360\n",
      "Best Q value with 6 communities: 0.44243\n",
      "Best Q value with 6 communities: 0.44052\n",
      "Best Q value with 6 communities: 0.43875\n",
      "Best Q value with 6 communities: 0.43830\n",
      "Best Q value with 6 communities: 0.43442\n",
      "Best Q value with 6 communities: 0.43895\n",
      "Best Q value with 6 communities: 0.43893\n",
      "Best Q value with 6 communities: 0.43919\n",
      "Best Q value with 6 communities: 0.43777\n",
      "Best Q value with 6 communities: 0.43332\n",
      "Best Q value with 6 communities: 0.43717\n",
      "Best Q value with 6 communities: 0.43904\n",
      "Best Q value with 6 communities: 0.43887\n",
      "Best Q value with 6 communities: 0.43617\n",
      "Best Q value with 6 communities: 0.43782\n",
      "Best Q value with 6 communities: 0.43568\n",
      "Best Q value with 6 communities: 0.44110\n",
      "Best Q value with 6 communities: 0.43672\n",
      "Best Q value with 6 communities: 0.43457\n",
      "Best Q value with 6 communities: 0.43379\n",
      "Best Q value with 6 communities: 0.44001\n",
      "Best Q value with 6 communities: 0.43358\n",
      "Best Q value with 6 communities: 0.43803\n",
      "Best Q value with 6 communities: 0.43984\n",
      "Best Q value with 6 communities: 0.44242\n",
      "Best Q value with 6 communities: 0.43858\n",
      "Best Q value with 6 communities: 0.43926\n",
      "Best Q value with 6 communities: 0.43794\n",
      "Best Q value with 6 communities: 0.43657\n",
      "Best Q value with 6 communities: 0.43708\n",
      "Best Q value with 6 communities: 0.43971\n",
      "Best Q value with 6 communities: 0.43168\n",
      "Best Q value with 6 communities: 0.43051\n",
      "Best Q value with 6 communities: 0.44058\n",
      "Best Q value with 6 communities: 0.43481\n",
      "Best Q value with 6 communities: 0.44103\n",
      "Best Q value with 6 communities: 0.43129\n",
      "Best Q value with 6 communities: 0.43614\n",
      "Best Q value with 6 communities: 0.43569\n",
      "Best Q value with 6 communities: 0.43453\n",
      "Best Q value with 6 communities: 0.43676\n",
      "Best Q value with 6 communities: 0.44198\n",
      "Best Q value with 6 communities: 0.43874\n",
      "Best Q value with 6 communities: 0.43524\n",
      "Best Q value with 6 communities: 0.43607\n",
      "Best Q value with 6 communities: 0.43603\n",
      "Best Q value with 6 communities: 0.43467\n",
      "Best Q value with 6 communities: 0.44093\n",
      "Best Q value with 6 communities: 0.43959\n",
      "Best Q value with 6 communities: 0.43471\n",
      "Best Q value with 6 communities: 0.43550\n",
      "Best Q value with 6 communities: 0.43362\n",
      "Best Q value with 6 communities: 0.43997\n",
      "Best Q value with 6 communities: 0.44005\n",
      "Best Q value with 6 communities: 0.43595\n",
      "Best Q value with 6 communities: 0.42878\n",
      "Best Q value with 6 communities: 0.42825\n",
      "Best Q value with 6 communities: 0.43897\n",
      "Best Q value with 6 communities: 0.43692\n",
      "Best Q value with 6 communities: 0.43482\n",
      "Best Q value with 6 communities: 0.43477\n",
      "Best Q value with 6 communities: 0.43604\n",
      "Best Q value with 6 communities: 0.42867\n",
      "Best Q value with 6 communities: 0.43601\n",
      "Best Q value with 6 communities: 0.44024\n",
      "Best Q value with 6 communities: 0.44080\n",
      "Best Q value with 6 communities: 0.43410\n",
      "Best Q value with 6 communities: 0.43803\n",
      "Best Q value with 6 communities: 0.43979\n",
      "Best Q value with 6 communities: 0.43736\n",
      "Best Q value with 6 communities: 0.44252\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Best Q value with 6 communities: 0.43780\n",
      "Best Q value with 6 communities: 0.44031\n",
      "Best Q value with 6 communities: 0.43440\n",
      "Best Q value with 6 communities: 0.43412\n",
      "Best results: 0.44362\n",
      "Partition checking:[68. 62.  1.  2. 65.  0.]\n",
      "\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# Q, partition = mod.gumbel_optimization(5)\n",
    "\n",
    "# Q, partition = mod.gumbel_optimization(4)\n",
    "\n",
    "for num_com in range(3, 7):\n",
    "    results = []\n",
    "    partitions = []\n",
    "    for _ in range(100):\n",
    "        Q, partition = mod.gumbel_optimization(num_com)\n",
    "        results.append(Q)\n",
    "        partitions.append(partition.sum(0))\n",
    "    Q_max = max(results)\n",
    "    index = results.index(Q_max)\n",
    "    print('Best results: %.5f' % (Q_max))\n",
    "    print('Partition checking:' + str(partitions[index]))\n",
    "    print('\\n')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Email"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "# laod data\n",
    "def load_graph(filename):\n",
    "    G = nx.Graph() # undirected graphs\n",
    "    for line in open(filename):\n",
    "        strlist = line.split(' ')\n",
    "        n1 = int(strlist[0])\n",
    "        n2 = int(strlist[1])\n",
    "#         weight = float(strlist[w_index])\n",
    "#         G.add_weighted_edges_from([(n1, n2, weight)])\n",
    "        G.add_edges_from([(n1, n2)])\n",
    "    return G\n",
    "\n",
    "G = load_graph('./data/email-univ.edges')\n",
    "\n",
    "mod = Modularity(G)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Current best result: 0.01376\n",
      "Current best result: 0.03291\n",
      "Current best result: 0.06260\n",
      "Current best result: 0.08824\n",
      "Current best result: 0.11831\n",
      "Current best result: 0.15342\n",
      "Current best result: 0.17995\n",
      "Current best result: 0.20623\n",
      "Current best result: 0.22872\n",
      "Current best result: 0.25828\n",
      "Current best result: 0.27741\n",
      "Current best result: 0.28751\n",
      "Current best result: 0.30029\n",
      "Current best result: 0.31133\n",
      "Current best result: 0.32637\n",
      "Current best result: 0.33721\n",
      "Current best result: 0.34152\n",
      "Current best result: 0.35714\n",
      "Current best result: 0.36155\n",
      "Current best result: 0.36553\n",
      "Current best result: 0.37420\n",
      "Current best result: 0.37835\n",
      "Current best result: 0.38692\n",
      "Current best result: 0.39032\n",
      "Current best result: 0.39203\n",
      "Current best result: 0.40223\n",
      "Current best result: 0.40675\n",
      "Current best result: 0.41114\n",
      "Current best result: 0.41312\n",
      "Current best result: 0.41534\n",
      "Current best result: 0.42069\n",
      "Current best result: 0.42099\n",
      "Current best result: 0.42445\n",
      "Current best result: 0.43156\n",
      "Current best result: 0.43202\n",
      "Current best result: 0.43859\n",
      "Current best result: 0.43967\n",
      "Current best result: 0.44094\n",
      "Current best result: 0.44266\n",
      "Current best result: 0.44473\n",
      "Current best result: 0.44590\n",
      "Current best result: 0.44798\n",
      "Current best result: 0.45020\n",
      "Current best result: 0.45215\n",
      "Current best result: 0.45437\n",
      "Current best result: 0.45623\n",
      "Current best result: 0.45684\n",
      "Current best result: 0.45800\n",
      "Current best result: 0.45967\n",
      "Current best result: 0.46216\n",
      "Current best result: 0.46367\n",
      "Current best result: 0.46367\n",
      "Current best result: 0.46543\n",
      "Current best result: 0.46543\n",
      "Current best result: 0.46743\n",
      "Current best result: 0.46743\n",
      "Current best result: 0.46915\n",
      "Current best result: 0.47072\n",
      "Current best result: 0.47231\n",
      "Current best result: 0.47266\n",
      "Current best result: 0.47266\n",
      "Current best result: 0.47345\n",
      "Current best result: 0.47702\n",
      "Current best result: 0.47854\n",
      "Current best result: 0.47908\n",
      "Current best result: 0.48160\n",
      "Current best result: 0.48160\n",
      "Current best result: 0.48160\n",
      "Current best result: 0.48246\n",
      "Current best result: 0.48280\n",
      "Current best result: 0.48324\n",
      "Current best result: 0.48413\n",
      "Current best result: 0.48476\n",
      "Current best result: 0.48524\n",
      "Current best result: 0.48546\n",
      "Current best result: 0.48550\n",
      "Current best result: 0.48577\n",
      "Current best result: 0.48579\n",
      "Current best result: 0.48605\n",
      "Current best result: 0.48654\n",
      "Current best result: 0.48676\n",
      "Current best result: 0.48695\n",
      "Current best result: 0.48781\n",
      "Current best result: 0.48795\n",
      "Current best result: 0.48971\n",
      "Current best result: 0.49074\n",
      "Current best result: 0.49081\n",
      "Current best result: 0.49111\n",
      "Current best result: 0.49111\n",
      "Current best result: 0.49111\n",
      "Current best result: 0.49117\n",
      "Current best result: 0.49236\n",
      "Current best result: 0.49236\n",
      "Current best result: 0.49254\n",
      "Current best result: 0.49290\n",
      "Current best result: 0.49290\n",
      "Current best result: 0.49318\n",
      "Current best result: 0.49323\n",
      "Best Q value with 13 communities: 0.49323\n"
     ]
    }
   ],
   "source": [
    "# Q, partition = mod.gumbel_optimization(5)\n",
    "\n",
    "# Q, partition = mod.gumbel_optimization(4)\n",
    "\n",
    "for num_com in range(3, 7):\n",
    "    results = []\n",
    "    partitions = []\n",
    "    for _ in range(100):\n",
    "        Q, partition = mod.gumbel_optimization(num_com)\n",
    "        results.append(Q)\n",
    "        partitions.append(partition.sum(0))\n",
    "    Q_max = max(results)\n",
    "    index = results.index(Q_max)\n",
    "    print('Best results: %.5f' % (Q_max))\n",
    "    print('Partition checking:' + str(partitions[index]))\n",
    "    print('\\n')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 80.,  72.,  60.,  90., 128.,  84., 145.,  89.,  54.,  84., 119.,\n",
       "        75.,  53.], dtype=float32)"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "partition.sum(0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.10"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
